package com.alks.entity.data.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author ms
 * @since 2024-06-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("PC_SUPPLEMENT_DUTY_TTL")
@ApiModel(value="PcSupplementDutyTtl对象", description="")
public class PcSupplementDutyTtl implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "公司ID")
    private String companyId;

    @ApiModelProperty(value = "补料单号")
    private String slipNo;

    @ApiModelProperty(value = "责任方名字")
    private String dutyName;

    @ApiModelProperty(value = "部门ID")
    private String deptNo;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "员工ID")
    private String idNo;

    @ApiModelProperty(value = "责任金额")
    private BigDecimal dutyAmt;

    @ApiModelProperty(value = "免扣金额")
    private BigDecimal freeAmt;

    @ApiModelProperty(value = "人工费用")
    private BigDecimal laborAmt;

    @ApiModelProperty(value = "总金额")
    private BigDecimal amt;

    @ApiModelProperty(value = "创建人")
    private String sysUser;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime sysDate;

    @ApiModelProperty(value = "责任数量")
    private BigDecimal dutyQty;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "建单时间")
    private LocalDateTime slipDate;

    private String slipType;

    @ApiModelProperty(value = "财务备注")
    private String remark;

    private BigDecimal seqNo;

    @ApiModelProperty(value = "结算标志位")
    private String cfmFlag;

    @ApiModelProperty(value = "结算月份")
    private String financeYymm;

    private String financeMemo;

    private String sendNo;

    @ApiModelProperty(value = "结算日期")
    private LocalDateTime cfmDate;

    @ApiModelProperty(value = "结算人")
    private String cfmUser;

    private String financeCfmFlag;

    private LocalDateTime financeCfmDate;

    private String financeCfmUser;

    @ApiModelProperty(value = "结算方式")
    private String accountName;

    @ApiModelProperty(value = "结算单号")
    private String balanceNo;

    @ApiModelProperty(value = "冲裁人工费用")
    private BigDecimal laborAmtCut;

    @ApiModelProperty(value = "手工人工费用")
    private BigDecimal laborAmtCut2;

    @ApiModelProperty(value = "工艺人工费用")
    private BigDecimal laborAmtCut3;

    @ApiModelProperty(value = "针车人工费用")
    private BigDecimal laborAmtStitch;

    @ApiModelProperty(value = "成型人工费用")
    private BigDecimal laborAmtLast;

    public BigDecimal getLaborAmtCut() {
        return laborAmtCut != null ? laborAmtCut : BigDecimal.ZERO;
    }

    public BigDecimal getLaborAmtCut2() {
        return laborAmtCut2 != null ? laborAmtCut2 : BigDecimal.ZERO;
    }

    public BigDecimal getLaborAmtCut3() {
        return laborAmtCut3 != null ? laborAmtCut3 : BigDecimal.ZERO;
    }

    public BigDecimal getLaborAmtStitch() {
        return laborAmtStitch != null ? laborAmtStitch : BigDecimal.ZERO;
    }

    public BigDecimal getLaborAmtLast() {
        return laborAmtLast != null ? laborAmtLast : BigDecimal.ZERO;
    }

}
